#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2024/4/1 21:14
# @Author : 闫峰
# @File    : popDetailmodel.py
from pydantic import BaseModel
from typing import List, Optional
class Aeop_qualification_struct_list(BaseModel):  # 资质信息
    key: Optional[str]
    type: Optional[str]
    value: Optional[str]


class Aeop_national_quote_configuration(BaseModel):
    configuration_data: Optional[str]  # 产品区域定价（非搜索查询，后续可以进行编辑修改）
    configuration_type: Optional[str]  # ————产品区域定价规则类型


class Subject_list(BaseModel): # ————产品多语言标题
    value: Optional[str]
    locale: Optional[str]


class Market_images(BaseModel): #产品营销图
    url: Optional[str]
    image_type: Optional[int]  # 1：代表长图，大小为750*1000; 2：代表方图，大小为800*800


class Detail_source_list(BaseModel):  #————产品详情描述
    mobile_detail: Optional[str]
    locale: Optional[str]  # ————描述语种
    web_detail: Optional[str]


class Aeop_a_e_videos(BaseModel):##商品多媒体信息，该属性主要包含商品的视频列表
    media_id: Optional[int]
    media_type: Optional[str]
    poster_url: Optional[str]


class Aeop_a_e_multimedia(BaseModel): #商品多媒体信息，该属性主要包含商品的视频列表
    aeop_a_e_videos: List[Aeop_a_e_videos]


class Aeop_ae_product_propertys(BaseModel):  # 产品属性
    attr_name: Optional[str]
    attr_name_id: Optional[int]
    attr_value: Optional[str]
    attr_value_end: Optional[str]
    attr_value_id: Optional[int]
    attr_value_start: Optional[str]
    attr_value_unit: Optional[str]


class Aeop_s_k_u_property_list(BaseModel): # ————变体属性（非搜索查询，后续可以进行修改）
    property_value_definition_name: Optional[str]
    property_value_id: Optional[int]
    sku_image: Optional[str]
    sku_property_id: Optional[int]
    image_url_list: Optional[List[str]]


class Aeop_ae_product_s_k_us(BaseModel):  # 变体信息
    sku_id: Optional[int]
    gross_weight: Optional[str]  # 变体SKU重量
    package_height: Optional[int]  # 变体SKU高
    package_width: Optional[int]  # 变体SKU宽
    package_length: Optional[int]  # 变体SKU长
    ext_param: Optional[str]  # 变体SKU 日常促销价（目前没有使用到，可先保留字段，储存为json格式）
    ean_code: Optional[str]
    aeop_s_k_u_property_list: List[Aeop_s_k_u_property_list]  # ————变体属性（非搜索查询，后续可以进行修改）
    barcode: Optional[str]  # 变体SKU条码
    currency_code: Optional[str]  # 变体SKU币种
    id: Optional[str]  # 变体ID
    ipm_sku_stock: Optional[int]  # 变体SKU可售数量
    sku_code: Optional[str]  # 变体SKU的渠道SKU
    sku_discount_price: Optional[str]  # 变体sku日常促销价
    sku_price: Optional[str]  # 变体sku价格
    sku_stock: Optional[bool]  # 变体SKU是否有货


class ProjectDetail(BaseModel):
    add_unit: Optional[int]  # 每增加件数，取值范围1-1000
    msr_eu_id: Optional[str]
    add_weight: Optional[str]  # ————产品重量
    aeop_a_e_multimedia: Optional[Aeop_a_e_multimedia]
    aeop_ae_product_propertys: List[Aeop_ae_product_propertys]  # 产品属性
    aeop_ae_product_s_k_us: List[Aeop_ae_product_s_k_us]  # 变体SKU信息
    aeop_national_quote_configuration: Aeop_national_quote_configuration
    base_unit: Optional[int]  # ————产品计重基本产品件数
    bulk_discount: Optional[int]  # ————产品的批发折扣
    bulk_order: Optional[int]  # ————享受批发价的产品数
    category_id: Optional[int]  # ————产品所在类目的ID
    currency_code: Optional[str]  # ————产品的货币
    delivery_time: Optional[int]  # ————商品的备货期
    detail_source_list: List[Detail_source_list]  # ————产品详情描述
    freight_template_id: int  # ————产品关联运费模板
    gmt_create: str  # ————产品创建时间
    gmt_modified: str  # ————产品修改时间
    gross_weight: Optional[str]  # ————产品毛重（单位kg）
    group_id: int  # ————产品关联的分组ID
    group_ids: Optional[List[int]]  # ————产品的分组列表
    image_u_r_ls: str  # ————产品主图列表（首图需要展示用）
    is_pack_sell: bool  # —————产品是否支持自定义计重
    keyword: Optional[str]  # ————产品关键字
    locale: Optional[str]  # ————产品初始发布语言
    lot_num: Optional[int]  # ————产品每包数量
    market_images: List[Market_images]  # ————产品营销图（后续需要用到条件判断，1代表3:4场景图，2为1:1白底图）
    package_height: Optional[int]  # ————产品高度（单位cm）
    package_length: Optional[int]  # ————产品长度（单位cm）
    package_type: Optional[bool]  # ————产品是否打包销售
    package_width: Optional[int]  # ————产品宽度（单位cm）
    product_id: Optional[int]  # 产品id
    product_price: Optional[str]  # 产品基础价
    product_status_type: Optional[str]  # ————产品状态（onSelling（正在销售），offline（已下架），auditing（审核中），editingRequired（审核不通过）
    product_unit: Optional[int]  # 产品单位
    promise_template_id: Optional[int]  # ————产品关联的服务模板ID
    reduce_strategy: Optional[str]  # ————库存扣减策略
    sizechart_id: Optional[int]  # ————产品所关联的尺码模版ID
    subject_list: List[Subject_list]  # ————产品多语言标题
    ws_display: Optional[str]  # ————产品下架原因
    ws_offline_date: Optional[str]  # ————产品下架时间
    ws_valid_num: Optional[int]  # ————产品有效期
    dp_bulk_discount: Optional[int]
    dp_bulk_order: Optional[int]
    aeop_qualification_struct_list: Optional[Aeop_qualification_struct_list] # 资质信息

